package cn.lili.controller.promotion;


import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.vos.BoxAppVO;
import cn.lili.modules.promotion.service.BoxAppService;
import cn.lili.modules.promotion.service.BoxMhgoodsService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;

/**
 * App接口
 */
@CrossOrigin(methods = {RequestMethod.POST})
@RestController
@AllArgsConstructor
@RequestMapping("/promotion/app/index.php/api")
public class BoxAppController {

    private BoxAppService boxAppService;

    /**
     * 获取活动盲盒
     *
     * @return 活动盲盒
     */
    @PostMapping("/getHd")
    public ResultMessage<Object> getHd() {
        return boxAppService.getHd();
    }

    /**
     * 获取盲盒列表 ==>  所有盲盒
     *
     * @return 盲盒列表
     */
    @PostMapping("/Box/getBox")
    public ResultMessage<Object> getBox() {
        return boxAppService.getBox();
    }

    /**
     * 获取盲盒  ==>  盲盒 + 盲盒商品
     *
     * @return 盲盒 + 盲盒商品
     */
    @PostMapping("/Box/getBoxShop")
    public ResultMessage<Object> getBoxShop(@RequestBody BoxAppVO boxAppVO) {
        return boxAppService.getBoxShop(boxAppVO);
    }

    /**
     * 商品详情
     * @param id 商品ID
     * @return 商品信息
     */
    @PostMapping("/Box/getShop")
    public ResultMessage<Object> getShop(@RequestParam String id) {
        return boxAppService.getShop(id);
    }


    /**
     * 用户中奖记录
     */
    @PostMapping("/getBoxlist")
    public ResultMessage<Object> getBoxList() {
        return boxAppService.getBoxList();
    }

    /**
     * 试玩抽奖
     *
     * @return 商品
     */
    @PostMapping("/SgetOne")
    public ResultMessage<Object> SgetOne(@RequestBody BoxAppVO boxAppVO) {
        return boxAppService.SgetOne(boxAppVO);
    }

    /**
     * 盲盒标签 对应的商品
     * @param id 盲盒ID
     * @return 标签数据
     */
    @PostMapping("/box/getBoxs")
    public ResultMessage<Object> boxGetBoxs(@RequestParam String id) {
        return boxAppService.boxGetBoxs(id);
    }

    /**
     * 获取盲盒购买方案
     * @return 购买方案
     */
    @PostMapping("/getOption")
    public ResultMessage<Object> getOption(@RequestParam String mhId) {
        return boxAppService.getOption(mhId);
    }

    /**
     * 获取支付类型
     * @param mhId 盲盒ID
     * @return 支付类型
     */
//    @PostMapping("/getPayType")
//    public ResultMessage<Object> getPayType(@RequestParam String mhId) {
//        return boxAppService.getPayType(mhId);
//    }

    /**
     * 抽奖
     * @param orderSn 订单号
     * @return 中奖商品
     */
    @PostMapping("/order/SgetOne")
    public ResultMessage<Object> orderSgetOne(@RequestParam String orderSn) {
        return boxAppService.orderSgetOne(orderSn);
    }

    /**
     * 我的奖券
     * @param mhId 盲盒ID
     * @return 我的奖券
     */
    @PostMapping("/lottery")
    public ResultMessage<Object> lottery(@RequestParam String mhId) {
        return boxAppService.lottery(mhId);
    }

    /**
     * 中奖记录
     *
     * @return 中奖记录
     */
    @PostMapping("/winning")
    public ResultMessage<Object> winning() {
        return boxAppService.winning();
    }

    /**
     * 盲盒开奖列表 == 开奖进度
     * @param status 1待开奖 ，2 已开奖
     */
    @PostMapping("/drawALottery/{status}")
    public ResultMessage<Object> drawALottery(@PathVariable String status) {
        return boxAppService.drawALottery(status);
    }

}
